fastCSharp.LoadViewType(diantou.problem=function(Value)
	{
	fastCSharp.Copy(this,Value);
	this.Path={
		AcceptedUser:'/onlineJudge/solutionRank.html#!problemId='+this.Id,
		AcceptedUserSubmit:'/onlineJudge/acceptedRank.html#!problemId='+this.Id,
		Judge:'/onlineJudge/problemJudge.html#!problemId='+this.Id,
		CodeJudge:'/onlineJudge/questionCode.html#!problemId='+this.Id,
		Favorite:'/onlineJudge/favorite.html#!problemId='+this.Id,
		Contest:'/contest/problem.html#!problemId='+this.Id,
		Solution:'/onlineJudge/problemSolution.html#!problemId='+this.Id,
		ContestSolution:'/contest/problemSolution.html#!problemId='+this.Id,
		ContestAcceptedUser:'/contest/solutionRank.html#!problemId='+this.Id,
		ContestAcceptedUserSubmit:'/contest/acceptedRank.html#!problemId='+this.Id,
		ContestRank:'/contest/problemRank.html#!problemId='+this.Id,
		ContestJudge:'/contest/problemJudge.html#!problemId='+this.Id,
		Test:'/management/problemCode.html#!problemId='+this.Id
		};
	});
diantou.problem.prototype={
SecondLimit:function()	{	return this.TimeLimit/1000;	},
MemoryLimitKB:function()	{	return this.MemoryLimit>>10; },
UserSubmitPath:function()	{	return new diantou.user({Id:fastCSharp.PageView.SkinValue.SkinValue.user.Id}).OnlineJudgeProblemSubmit(this.Id);	},
Contest:function()	{	return this.ContestId?diantou.contest.Get(this.ContestId,1):null;	},
IsShowTopic:function()	{	return fastCSharp.Cookie&&!fastCSharp.Cookie.Read('ojTopic',0);	},
QuestionPath:function()	{	return diantou.question.Get({Id:this.QuestionId}).Path.Index;	},
ClientAutoShowTime:function()	{	return (this.AutoShowTime.ToInt()==(1900<<9)+(1<<5)+1?Date.FromInt((new Date).ToInt()).AddHours(9+30*24):this.AutoShowTime).ToSecondString();	},
IsAutoShowTime:function()	{	return this.AutoShowTime.ToInt()!=(1900<<9)+(1<<5)+1;	},
SetExamUserJudge:function()
	{
	if(this.ExamJudge)
		{
		if(this.ExamJudge!=1)	return this.ExamJudge;
		}
	else	{
		for(var Judges=fastCSharp.PageView.SkinValue.SkinValue.judges||[],Index=Judges.length;Index;)
			{
			var Judge=Judges[--Index];
			if(Judge.ProblemId==this.Id)	return this.ExamJudge=Judge;
			}
		this.ExamJudge=1;
		}
	},
ExamUserJudge:function()
	{
	var Judge=this.SetExamUserJudge();
	return Judge?Judge.Judge:null;
	},
ExamUserJudgeItems:function()
	{
	var Judge=this.SetExamUserJudge();
	return Judge?Judge.Items:null;
	}
		};

fastCSharp.LoadViewType(diantou.userProblem=function(Value)
	{
	fastCSharp.Copy(this,Value);
	});